package com.qf.boot2204.config;

import com.qf.boot2204.entity.User;
import com.qf.boot2204.service.HelloService;
import com.qf.boot2204.service.impl.HelloServiceImpl;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Scope;

import java.util.Properties;

/*
添加了@Configuration注解类，是配置类
注意;配置类的包需要在根包下，与启动类评级或者在启动类的下级包中*
等价于spring-context.xm
这种配置方法也叫做java config

 */
@Configuration
public class MyConfig {
    /*该注解等价于xml文件中的<bean></ bean>
    方法的类型，等价于 bean标签中的 class属性的值﹐注解，在springboot中可以写接口类型
    方法的名称，等价与bean标准中的id 的值*/
    @Bean
    public HelloService helloService(){
        HelloServiceImpl helloService=new HelloServiceImpl();
        return helloService;
    }
    //如何实现多例的配胃
    //注意:默认情况下，所有bean依然是单例模式
    @Bean(name = "user1")//可以通过name属性更改ioc容器中 bean的标识〈等价于xml文件中写的bean id=" ")
    @Scope("prototype")
    public User user1(){
        User user = new User(100,"user");
        return user;
    }
    @Bean
    public User user2(){
        User user = new User(200,"user1");
        return user;
    }

}
